/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Componenten;

/**
 * Main klasse, bevat het hoofdframe (met inhoud, op het speelbord na).
 * @author Bram Slob en Roderick van Seijen
 */
public interface LocalTypes {
    /**
     * De verschillende elementtypes die er in het spel zitten.
     */
    enum ElementType {

        /**
         * De speler, het poppetje dat beweegt
         */
        SPELER,
        /**
         * De doos, het object dat op een eindveld moet komen (alleen in variant STANDAARD)
         */
        DOOS,
        /**
         * De lege doos, deze dient gevuld te worden met een HULPSTUK (alleen in variant UITGEBREID)
         */
        LEGE_DOOS,
        /**
         * De volle doos, het object dat op een eindveld moet komen (alleen in variant UITGEBREID)
         */
        VOLLE_DOOS,
        /**
         * De muur, scheiding binnen en buiten een doolhof
         */
        MUUR,
        /**
         * Het hulpstuk, kan een lege doos in een volle doos veranderen (alleen in variant UITGEBREID)
         */
        HULPSTUK
    }
    
    /**
     * De verschillende type vakken
     */
    enum VakType {
        /**
         * Het normale vak
         */
        NORMAAL,
        /**
         * Het eindvak
         */
        EIND,
        /**
         * Het buitenvak, een niet begaanbaar vak, buiten het doolhof
         */
        BUITEN
    }
    
    /**
     * De verschillende richtingen waar je heen kunt vanuit een vak
     */
    enum Richting {
        WEST,
        NOORD,
        OOST,
        ZUID
    }
    
    /**
     * Er zijn 2 modi in het spel
     */
    enum Modus {

        /**
         * 'makkelijk', je mag meerdere dozen tegelijk verschuiven
         */
        KIND,
        /**
         * 'normaal', maar 1 doos tegelijk
         */
        VOLWASSENE
    }
    
    /**
     * Er zijn 2 speltypes in het spel
     */
    enum SpelVariant {
        /**
         * Er is maar 1 type doos en geen hulpstuk
         */
        STANDAARD,
        /**
         * Er zijn lege dozen, volle dozen en hulpstukken waarmee dozen gevuld kunnen worden
         */
        UITGEBREID
    }
    
}
